package com.cineplanet.dew.dao;

import java.util.ArrayList;
import java.util.List;

import javax.sql.DataSource;

import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

import com.cineplanet.dew.exception.DAOExcepcion;
import com.cineplanet.dew.modelo.Cine;
import com.cineplanet.dew.modelo.Usuario;

public class UsuarioDAOImpl  extends HibernateDaoSupport implements UsuarioDAO{

	private DataSource dataSource;

	public void setDataSource(DataSource dataSource) {
		this.dataSource = dataSource;
	}

	@Override
	public Usuario insertar(Usuario usuario) throws DAOExcepcion {
		try {
			getHibernateTemplate().save(usuario);
		    getHibernateTemplate().flush();
		} catch (Exception e) {
	
			throw new DAOExcepcion(e.getMessage());
		}
		return usuario;
	}

	@Override
	public Usuario actualizar(Usuario usuario) throws DAOExcepcion {
		try {
			getHibernateTemplate().update(usuario);
			getHibernateTemplate().flush();
		} catch (Exception e) {
			throw new DAOExcepcion(e.getMessage());
		}
		return usuario;
	}

	@Override
	public Usuario login(String mail, String password) throws DAOExcepcion {
		Usuario usuario = new Usuario();
		try {
			usuario = (Usuario)(getHibernateTemplate().find("from Usuario " +
															"where email = ? and pwd = ?", 
															new Object[]{mail, password}).get(0));
		} catch (Exception e) {

			throw new DAOExcepcion(e.getMessage());
		}
		return usuario;
	}
	
}
